import * as SeparatorPrimitive from '@radix-ui/react-separator'
import * as React from 'react'

import {cn} from '@/shadcn-lib/utils'

const Separator = React.forwardRef<
	React.ElementRef<typeof SeparatorPrimitive.Root>,
	React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>
>(({className, orientation = 'horizontal', decorative = true, ...props}, ref) => (
	<SeparatorPrimitive.Root
		ref={ref}
		decorative={decorative}
		orientation={orientation}
		className={cn(
			'shrink-0 from-transparent via-white/10 to-transparent',
			orientation === 'horizontal' ? 'h-[1px] w-full bg-gradient-to-r' : 'h-full w-[1px] bg-gradient-to-b',
			className,
		)}
		{...props}
	/>
))
Separator.displayName = SeparatorPrimitive.Root.displayName

export {Separator}
